package com.xxx.service;
import java.util.List;
import java.util.Map;
import com.xxx.common.dto.Page;
import com.xxx.common.dto.Pagination;

import com.xxx.model.Article;

public interface ArticleService {

	/**
	 * 保存或者更新
	 * @param article
	 * @return
	 */
	long saveOrUpdate(Article article) throws Exception;
		
	/**
	 * 删除
	 * @param id
	 * @return
	 */
	boolean delete(long id) throws Exception;
	
	/**
	 * 获取个数
	 * @param whereMap
	 * @return
	 * @throws Exception 
	 */
	int getCount(Map<String, Object> whereMap) throws Exception;
	
	/**
	 * 根据id获取
	 * @param id
	 * @return
	 */
	Article getEntity(long id) throws Exception;
	
	/**
	 * 获取所有 
	 * @param whereMap 查询条件
	 * @return
	 */
	List<Article> getList(Map<String, Object> whereMap) throws Exception;
	
	/**
	 * 获取集合,带分页条件
	 * @param whereMap 查询条件
	 * @param pagination 分页,排序
	 * @return
	 */
	List<Article> getList(Map<String, Object> whereMap,Pagination pagination) throws Exception;
	
	/**
	 * 获取集合,带分页参数
	 * @param whereMap 查询条件
	 * @param pagination 分页,排序
	 * @return
	 */
	Page<Article> getPage(Map<String, Object> whereMap,Pagination pagination) throws Exception;
}
